package com.ruoyi.email.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 写信对象 tmd_email_write
 * 
 * @author ruoyi
 * @date 2024-04-20
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TmdEmailWrite extends BaseEntity
{
    private static final Long serialVersionUID = 1L;

    /** id 编号 */
    private Integer id;

    /** 收件人 收件人id */
    @Excel(name = "收件人id")
    private Integer receivePersonId;

    private String receivePersonIdCopy;

    /** 邮件名称 邮件名称 */
    @Excel(name = "邮件名称")
    private String emailName;

    /** 创建人 创建人 */
    @Excel(name = "创建人")
    private String personName;

    /** 类型 0：普通，1：机密，2：其他 */
    @Excel(name = "类型 0：普通，1：机密，2：其他")
    private Integer type;

    /** 附件 附件 */
    @Excel(name = "附件")
    private String file;

    /** 内容 内容 */
    @Excel(name = "内容")
    private String text;

    /** 收发件时间 收件发件时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "收发件时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date recivePostTime;

    /** 状态 0：未读，1：已读 */
    @Excel(name = "状态 0：未读，1：已读")
    private Integer status;

    /** 收件箱状态 0：未存在，1：已存在 */
    @Excel(name = "收件箱状态 0：未存在，1：已存在")
    private Integer receiveStatus;

    /** 发件箱状态 0：未存在，1：已存在 */
    @Excel(name = "发件箱状态 0：未存在，1：已存在")
    private Integer postStaus;

    /** 草稿箱状态 0：未存在，1：已存在 */
    @Excel(name = "草稿箱状态 0：未存在，1：已存在")
    private Integer draftStatus;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setReceivePersonId(Integer receivePersonId) 
    {
        this.receivePersonId = receivePersonId;
    }

    public Integer getReceivePersonId() 
    {
        return receivePersonId;
    }
    public void setEmailName(String emailName) 
    {
        this.emailName = emailName;
    }

    public String getEmailName() 
    {
        return emailName;
    }
    public void setPersonName(String personName) 
    {
        this.personName = personName;
    }

    public String getPersonName() 
    {
        return personName;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setFile(String file) 
    {
        this.file = file;
    }

    public String getFile() 
    {
        return file;
    }
    public void setText(String text) 
    {
        this.text = text;
    }

    public String getText() 
    {
        return text;
    }
    public void setRecivePostTime(Date recivePostTime) 
    {
        this.recivePostTime = recivePostTime;
    }

    public Date getRecivePostTime() 
    {
        return recivePostTime;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setReceiveStatus(Integer receiveStatus) 
    {
        this.receiveStatus = receiveStatus;
    }

    public Integer getReceiveStatus() 
    {
        return receiveStatus;
    }
    public void setPostStaus(Integer postStaus) 
    {
        this.postStaus = postStaus;
    }

    public Integer getPostStaus() 
    {
        return postStaus;
    }
    public void setDraftStatus(Integer draftStatus) 
    {
        this.draftStatus = draftStatus;
    }

    public Integer getDraftStatus() 
    {
        return draftStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("receivePersonId", getReceivePersonId())
            .append("emailName", getEmailName())
            .append("personName", getPersonName())
            .append("type", getType())
            .append("createTime", getCreateTime())
            .append("file", getFile())
            .append("text", getText())
            .append("recivePostTime", getRecivePostTime())
            .append("status", getStatus())
            .append("receiveStatus", getReceiveStatus())
            .append("postStaus", getPostStaus())
            .append("draftStatus", getDraftStatus())
            .toString();
    }
}
